//
//  WHBaseTableViewController.swift
//  microblog
//
//  Created by Apple on 15/11/24.
//  Copyright © 2015年 Apple. All rights reserved.
//

import UIKit

class WHBaseTableViewController: UITableViewController{
    // 用户登录标志
    var userlogin = WHUserAccount.userLogin
    override func loadView() {
        //判断是否登录
        userlogin ? super.loadView() : setupVistorView()
    }
    
    //创建访客视图
    private func setupVistorView(){
        view = vistorView
        //设置代理
        vistorView.delegate = self
        
        //判断当前是哪个控制器
        if self is WHHomeController {
            vistorView.startRotationAnimation()
            //监听应用进入和退出后台
            //退出
            NSNotificationCenter.defaultCenter().addObserver(self, selector: "didEnterBackground", name: UIApplicationDidEnterBackgroundNotification, object: nil)
            //进入前台
            NSNotificationCenter.defaultCenter().addObserver(self, selector: "didBecomeActive", name: UIApplicationDidBecomeActiveNotification, object: nil)
        }else if self is WHMessageController{
            //设置信息
            vistorView.setupVistorView("visitordiscover_image_message", message: "登录后，别人评论你的微博，发给你的消息，都会在这里收到通知")
        }else if self is WHDiscoverController{
            // 设置发现访客视图内容
            vistorView.setupVistorView("visitordiscover_image_message", message: "登录后，最新、最热微博尽在掌握，不再会与实事潮流擦肩而过")
        }else if self is WHProfileController{
            // 设置我访客视图内容
            vistorView.setupVistorView("visitordiscover_image_profile", message: "登录后，你的微博、相册、个人资料会显示在这里，展示给别人")
        }
        //设置导航栏按钮
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.Plain, target: self, action: "vistorViewRegisterClick")
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: UIBarButtonItemStyle.Plain, target: self, action: "vistorViewLoginClick")
    }
    
    deinit {
        // 移除通知
        if self is WHHomeController {
            NSNotificationCenter.defaultCenter().removeObserver(self)
        }
    }
    
    //监听方法
    func didEnterBackground(){
         // 暂停核心动画
        vistorView.pauseAnimation()
    }
    func didBecomeActive(){
        // 开始核心动画
        vistorView.resumeAnimation()
    }
    
    
    //懒加载
    private lazy var vistorView: WHVistorView = WHVistorView()
}

// MARK: - 扩展 CZBaseTableViewController 实现 CZVistorViewDelegate 协议
// extension 和 OC 中的 Category非常类似, 可以将协议的相关方法放到一起, 方便统一管理代码

extension WHBaseTableViewController: WHVistorViewDelegate {
    //实现代理
    func vistorViewLoginClick() {
        //创建oauth授权界面
        let oauthVC = WHOAuthViewController()
        presentViewController(UINavigationController(rootViewController: oauthVC), animated: true, completion: nil)
    }
    func vistorViewRegisterClick() {
        print("注册按钮被点击")
    }

    
}
